package com.syp.auth.service.base;

import java.util.List;
import org.springframework.data.domain.Page;
import com.syp.auth.domain.vo.AppVo;

/**
 * 应用业务处理接口
 * 
 * @author syp
 */
public interface AppServiceI {

	/**
	 * @desc 添加应用
	 * @param app
	 * @return
	 */
	public void add(AppVo app);

	/**
	 * @desc 删除应用
	 * @param app
	 */
	public void delete(Long id);

	/**
	 * @desc 删除应用
	 * @param ids
	 * @param batch
	 */
	public void deleteBatch(List<Long> ids);

	/**
	 * @desc 编辑应用
	 * @param app
	 * @return
	 */
	public void edit(AppVo app);

	/**
	 * 根据应用id获取应用信息
	 * 
	 * @param id
	 * @return
	 */
	public AppVo get(Long id);

	/**
	 * 根据应用编码获取应用信息
	 * @param appCode
	 * @return
	 */
	public AppVo getByAppCode(String appCode);

	/**
	 * @desc 应用列表
	 * @param app
	 * @return
	 */
	public List<AppVo> list(AppVo app);

	/**
	 * @desc 应用列表
	 * @param app
	 * @return
	 */
	public List<AppVo> dropdownListItems(String param);

	/**
	 * @desc 应用列表
	 * @param app
	 * @return
	 */
	public Page<AppVo> pagelist(AppVo app);

	/**
	 * 检验应用代码是否唯一
	 * 
	 * @param newAppCode
	 * @return
	 */
	public boolean checkAppCodeUnique(String newAppCode);

	/**
	 * 根据应用ID检验应用是否可以被删除
	 * 
	 * @param appcode
	 * @return
	 */
	public boolean checkAppCanbeRemovedById(Long appid);
}
